package com.google.zxing.common.reedsolomon; class ReedSolomonEncoder { void a() { int a;
a=0;// .class public final Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;
a=0;// .super Ljava/lang/Object;
a=0;// 
a=0;// 
a=0;// # instance fields
a=0;// .field private final cachedGenerators:Ljava/util/Vector;
a=0;// 
a=0;// .field private final field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;// 
a=0;// # direct methods
a=0;// .method public constructor <init>(Lcom/google/zxing/common/reedsolomon/GF256;)V
a=0;//     .locals 5
a=0;// 
a=0;//     const/4 v4, 0x1
a=0;// 
a=0;//     #v4=(One);
a=0;//     invoke-direct {p0}, Ljava/lang/Object;-><init>()V
a=0;// 
a=0;//     #p0=(Reference,Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;);
a=0;//     sget-object v0, Lcom/google/zxing/common/reedsolomon/GF256;->QR_CODE_FIELD:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Boolean);
a=0;//     if-nez v0, :cond_0
a=0;// 
a=0;//     new-instance v0, Ljava/lang/IllegalArgumentException;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/lang/IllegalArgumentException;);
a=0;//     const-string v1, "Only QR Code is supported at this time"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/IllegalArgumentException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Boolean);v1=(Uninit);
a=0;//     iput-object p1, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     new-instance v0, Ljava/util/Vector;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/util/Vector;);
a=0;//     invoke-direct {v0}, Ljava/util/Vector;-><init>()V
a=0;// 
a=0;//     #v0=(Reference,Ljava/util/Vector;);
a=0;//     iput-object v0, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;->cachedGenerators:Ljava/util/Vector;
a=0;// 
a=0;//     iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;->cachedGenerators:Ljava/util/Vector;
a=0;// 
a=0;//     new-instance v1, Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     #v1=(UninitRef,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     new-array v2, v4, [I
a=0;// 
a=0;//     #v2=(Reference,[I);
a=0;//     const/4 v3, 0x0
a=0;// 
a=0;//     #v3=(Null);
a=0;//     aput v4, v2, v3
a=0;// 
a=0;//     invoke-direct {v1, p1, v2}, Lcom/google/zxing/common/reedsolomon/GF256Poly;-><init>(Lcom/google/zxing/common/reedsolomon/GF256;[I)V
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     invoke-virtual {v0, v1}, Ljava/util/Vector;->addElement(Ljava/lang/Object;)V
a=0;// 
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method private buildGenerator(I)Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;//     .locals 9
a=0;// 
a=0;//     const/4 v7, 0x1
a=0;// 
a=0;//     #v7=(One);
a=0;//     iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;->cachedGenerators:Ljava/util/Vector;
a=0;// 
a=0;//     #v0=(Reference,Ljava/util/Vector;);
a=0;//     invoke-virtual {v0}, Ljava/util/Vector;->size()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     if-lt p1, v0, :cond_0
a=0;// 
a=0;//     iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;->cachedGenerators:Ljava/util/Vector;
a=0;// 
a=0;//     #v0=(Reference,Ljava/util/Vector;);
a=0;//     iget-object v1, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;->cachedGenerators:Ljava/util/Vector;
a=0;// 
a=0;//     #v1=(Reference,Ljava/util/Vector;);
a=0;//     invoke-virtual {v1}, Ljava/util/Vector;->size()I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     add-int/lit8 v1, v1, -0x1
a=0;// 
a=0;//     invoke-virtual {v0, v1}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     check-cast v0, Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     iget-object v1, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;->cachedGenerators:Ljava/util/Vector;
a=0;// 
a=0;//     #v1=(Reference,Ljava/util/Vector;);
a=0;//     invoke-virtual {v1}, Ljava/util/Vector;->size()I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     move v8, v1
a=0;// 
a=0;//     #v8=(Integer);
a=0;//     move-object v1, v0
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     move v0, v8
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Integer);v2=(Conflicted);v3=(Conflicted);v4=(Conflicted);v5=(Conflicted);v6=(Conflicted);
a=0;//     if-gt v0, p1, :cond_0
a=0;// 
a=0;//     new-instance v2, Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     #v2=(UninitRef,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     iget-object v3, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v3=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     const/4 v4, 0x2
a=0;// 
a=0;//     #v4=(PosByte);
a=0;//     new-array v4, v4, [I
a=0;// 
a=0;//     #v4=(Reference,[I);
a=0;//     const/4 v5, 0x0
a=0;// 
a=0;//     #v5=(Null);
a=0;//     aput v7, v4, v5
a=0;// 
a=0;//     iget-object v5, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v5=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     add-int/lit8 v6, v0, -0x1
a=0;// 
a=0;//     #v6=(Integer);
a=0;//     invoke-virtual {v5, v6}, Lcom/google/zxing/common/reedsolomon/GF256;->exp(I)I
a=0;// 
a=0;//     move-result v5
a=0;// 
a=0;//     #v5=(Integer);
a=0;//     aput v5, v4, v7
a=0;// 
a=0;//     invoke-direct {v2, v3, v4}, Lcom/google/zxing/common/reedsolomon/GF256Poly;-><init>(Lcom/google/zxing/common/reedsolomon/GF256;[I)V
a=0;// 
a=0;//     #v2=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     invoke-virtual {v1, v2}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->multiply(Lcom/google/zxing/common/reedsolomon/GF256Poly;)Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     iget-object v2, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;->cachedGenerators:Ljava/util/Vector;
a=0;// 
a=0;//     invoke-virtual {v2, v1}, Ljava/util/Vector;->addElement(Ljava/lang/Object;)V
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_0
a=0;//     #v1=(Conflicted);v2=(Conflicted);v3=(Conflicted);v4=(Conflicted);v5=(Conflicted);v6=(Conflicted);v8=(Conflicted);
a=0;//     iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;->cachedGenerators:Ljava/util/Vector;
a=0;// 
a=0;//     #v0=(Reference,Ljava/util/Vector;);
a=0;//     invoke-virtual {v0, p1}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     check-cast v0, Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     return-object v0
a=0;// .end method
a=0;// 
a=0;// 
a=0;// # virtual methods
a=0;// .method public final encode([II)V
a=0;//     .locals 7
a=0;// 
a=0;//     const/4 v6, 0x1
a=0;// 
a=0;//     #v6=(One);
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     #v1=(Null);
a=0;//     if-nez p2, :cond_0
a=0;// 
a=0;//     new-instance v0, Ljava/lang/IllegalArgumentException;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/lang/IllegalArgumentException;);
a=0;//     const-string v1, "No error correction bytes"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/IllegalArgumentException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Uninit);v1=(Null);
a=0;//     array-length v0, p1
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     sub-int v2, v0, p2
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     if-gtz v2, :cond_1
a=0;// 
a=0;//     new-instance v0, Ljava/lang/IllegalArgumentException;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/lang/IllegalArgumentException;);
a=0;//     const-string v1, "No data bytes provided"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/IllegalArgumentException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_1
a=0;//     #v0=(Integer);v1=(Null);
a=0;//     invoke-direct {p0, p2}, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;->buildGenerator(I)Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     new-array v3, v2, [I
a=0;// 
a=0;//     #v3=(Reference,[I);
a=0;//     invoke-static {p1, v1, v3, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
a=0;// 
a=0;//     new-instance v4, Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     #v4=(UninitRef,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     iget-object v5, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v5=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     invoke-direct {v4, v5, v3}, Lcom/google/zxing/common/reedsolomon/GF256Poly;-><init>(Lcom/google/zxing/common/reedsolomon/GF256;[I)V
a=0;// 
a=0;//     #v4=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     invoke-virtual {v4, p2, v6}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->multiplyByMonomial(II)Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v3
a=0;// 
a=0;//     invoke-virtual {v3, v0}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->divide(Lcom/google/zxing/common/reedsolomon/GF256Poly;)[Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     aget-object v0, v0, v6
a=0;// 
a=0;//     #v0=(Null);
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->getCoefficients()[I
a=0;// 
a=0;//     move-result-object v3
a=0;// 
a=0;//     array-length v0, v3
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     sub-int v4, p2, v0
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     move v0, v1
a=0;// 
a=0;//     :goto_0
a=0;//     #v5=(Conflicted);
a=0;//     if-ge v0, v4, :cond_2
a=0;// 
a=0;//     add-int v5, v2, v0
a=0;// 
a=0;//     #v5=(Integer);
a=0;//     aput v1, p1, v5
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_2
a=0;//     #v5=(Conflicted);
a=0;//     add-int v0, v2, v4
a=0;// 
a=0;//     array-length v2, v3
a=0;// 
a=0;//     invoke-static {v3, v1, p1, v0, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
a=0;// 
a=0;//     return-void
a=0;// .end method
}}
